/*************************************************************************
	> File Name: wmark_dev.h
	> Author: 
	> Mail: 
	> Created Time: 2022年01月29日 星期六 16时57分58秒
 ************************************************************************/

#ifndef _WMARK_DEV_H
#define _WMARK_DEV_H

#define DMA_BUFS_MAX_NUM 4
#define SET_FLAG_CMD     _IOWR('S', 12, wmark_dev_ioctl_t)
#define GET_FLAG_CMD     _IOWR('S', 13, wmark_dev_ioctl_t)

#define SET_BUFS_CMD     _IOWR('S', 14, wmark_dev_ioctl_t)
#define GET_BUFS_CMD     _IOWR('S', 15, wmark_dev_ioctl_t)

// 只提供给 export 使用
#define GET_FREE_BUF_INDEX_EXPORT    _IOWR('S', 16, buf_handle_t) // 获取 释放的 buf index
#define SET_USE_BUF_INDEX_EXPORT     _IOWR('S', 17, buf_handle_t) // 写入 填空好的 buf index

// 只提供给 import 使用
#define GET_USE_BUF_INDEX_IMPORT      _IOWR('S', 18, buf_handle_t)  // 获取 有用的 buf index
#define SET_FREE_BUF_INDEX_IMPORT     _IOWR('S', 19, buf_handle_t) //  写入 释放的 buf index


typedef struct {
	int fd;
	int index;
}fd_info;

typedef struct {
	int buf_fd;
	unsigned long buf_len;
	fd_info fds[DMA_BUFS_MAX_NUM];
}wmark_dev_ioctl_t;

typedef struct {
	int test1;
} info_t;

typedef struct {
	int index;
	info_t info;
} buf_handle_t;

#endif
